package com.lhz.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.lhz.model.entity.JobInfo;
import com.lhz.model.form.JobInfoForm;
import com.lhz.model.param.JobInfoParam;

/**
 * @Author LiGezZ
 * @Date 2021/08/02 20:57:07
 * @Description: 定时任务调度
 */
public interface JobService extends IService<JobInfo> {

    /**
     * 根据Id查询
     *
     * @param id
     * @return
     */
    Object selectByPrimaryKey(Long id);

    /**
     * 查询定时任务调度列表
     *
     * @param param
     * @return
     */
    Object listInfoPage(JobInfoParam param);

    /**
     * 新增定时任务调度
     *
     * @param form
     * @return
     */
    int insert(JobInfoForm form);

    /**
     * 修改定时任务调度
     *
     * @param form
     * @return
     */
    int updateByPrimaryKey(JobInfoForm form);


    /**
     * 删除定时任务调度
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 单次执行任务
     *
     * @param id
     */
    void invokeJob(Long id);

    /**
     * 启动任务
     *
     * @param id
     */
    void startJob(Long id);

    /**
     * 暂停任务
     *
     * @param id
     */
    void stopJob(Long id);

    /**
     * 禁用任务
     *
     * @param id
     */
    void disableJob(Long id);

}